Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
From |
|
I need to investigate why I am getting: |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2908 +/- ##
==========================================
- Coverage 97.07% 96.75% -0.33%
==========================================
Files 610 612 +2
Lines 47500 47531 +31
==========================================
- Hits 46110 45985 -125
- Misses 1390 1546 +156
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
ranocha
left a comment
There was a problem hiding this comment.
Can you please add a (brief) section to the documentation, e.g., https://trixi-framework.github.io/TrixiDocumentation/stable/performance/, describing how to use these tools for benchmarking (or at least mentioning that Trixi.jl supports them and linking to other docs for further information)?
… VTune Delay init of domain fixup: formatting add color
|
Please request my review when you've finished this PR. |
|
|
||
| ## Tracing support for profilers | ||
|
|
||
| Trixi supports tracing profiler integration through [ittapi](https://github.com/intel/ittapi) for Intel VTune and [NVTX](https://github.com/NVIDIA/NVTX) for [NVIDIA Nsight Systems](https://developer.nvidia.com/nsight-systems). |
There was a problem hiding this comment.
| Trixi supports tracing profiler integration through [ittapi](https://github.com/intel/ittapi) for Intel VTune and [NVTX](https://github.com/NVIDIA/NVTX) for [NVIDIA Nsight Systems](https://developer.nvidia.com/nsight-systems). | |
| Trixi.jl supports tracing profiler integration through [ittapi](https://github.com/intel/ittapi) for Intel VTune and [NVTX](https://github.com/NVIDIA/NVTX) for [NVIDIA Nsight Systems](https://developer.nvidia.com/nsight-systems). |
Always 🙃
| !!! note "Extensions" | ||
| Tracing support is implemented through extensions and requires trigger packages to be loaded. | ||
|
|
||
| Tracing support is only available for regions that are instrumented with `@trixi_timeit_ext`. |
There was a problem hiding this comment.
| Tracing support is only available for regions that are instrumented with `@trixi_timeit_ext`. | |
| Tracing support is only available for regions that are instrumented with [`@trixi_timeit_ext`](@ref). |
If it has a docstring
| using IntelITT | ||
| ``` | ||
|
|
||
| To get the most out of Intel VTune we recommend passing the environment flag `ENABLE_JITPROFILING=1` to Julia, which will allow you to symbolize JIT compiled call frames. |
There was a problem hiding this comment.
| To get the most out of Intel VTune we recommend passing the environment flag `ENABLE_JITPROFILING=1` to Julia, which will allow you to symbolize JIT compiled call frames. | |
| To get the most out of Intel VTune we recommend passing the environment flag `ENABLE_JITPROFILING=1` to Julia, which will allow you to symbolize JIT compiled call frames. | |
| Otherwise, instead of the Julia function names you will only see anonymous C function calls in the trace. |
For clarity?
| You can also just use `CUDA.@profile` (see [Integrated Profiler](https://cuda.juliagpu.org/stable/development/profiling/#Integrated-profiler)) to obtain profiler results that include the NVTX ranges. | ||
|
|
||
| #### Known limitation | ||
| Nsight Systems can also be used for CPU and in particular MPI codes. The Trixi extension will only be enabled when GPU backend is being used. |
There was a problem hiding this comment.
| Nsight Systems can also be used for CPU and in particular MPI codes. The Trixi extension will only be enabled when GPU backend is being used. | |
| Nsight Systems can also be used for CPU and in particular MPI codes. The Trixi.jl extension will only be enabled when GPU backend is being used. |
There was a problem hiding this comment.
Also, is there a downside to enabling it also for the CPU backend?
There was a problem hiding this comment.
It would be good to add at least a rudimentary comment on the purpose of this extension.
There was a problem hiding this comment.
It would be good to add at least a rudimentary comment on the purpose of this extension.
|
|
||
| # TODO: move to KernelAbstractions | ||
| """ | ||
| trixi_range_active(backend) |
There was a problem hiding this comment.
I'd call these three functions profiling_range_xxx instead of trixi_range_xxx to make them more self-descriptive.
For GPU-accelerated development we often use external profilers, such as NSight System.
With this PR we automatically annotate and then get inside NSight System: